A method and system for exchanging information between users of different web pages is provided. The information exchange system allows users of one web page to view information provided by users of another web page, which may be hosted on a different web site. The information exchange system allows a user who is accessing a certain web page to supply information (e.g., comments) to be associated with that web page in a manner that is separate from or outside of the web page itself. The system provides that user-supplied information to other users who access related web pages. The information exchange system has relationship information that indicates which web pages are related. For example, the relationship information may indicate that a web page for a book at one web site is related to a web page for that book at another web site. When another user accesses a related web page, then the information exchange system retrieves the user-supplied information associated with the related web pages and provides that information to the user accessing the web page. In one embodiment, the information is provided to users in a frame or window that is separate from the frame or window in which the web page is displayed. In this way, a user is not limited to reviewing information that is provided by other users of the same web page.
In one embodiment, the information exchange system provides a client-side component and a server-side component. The client-side component executes on a user's computer, and the server-side component executes on an information exchange computer. The client-side component, which may be a browser plug-in, a proxy server, or other type of program, monitors a user's access to web pages. When a web page is accessed, the client-side component sends an indication of the accessed web page to the server-side component. The server-side component then determines if information associated with a related web page has been entered by a user. If so, the server-side component sends the information to the client-side component. The client-side component then controls the display of the information at the user's computer. For example, the client-side component may display the information in a frame adjacent to the accessed web page. The client-side component may also allow the user to enter information to be associated with the accessed web page. If so, the client-side component sends the entered information to the server-side component so that information can be stored and then provided when related web pages are accessed. In another embodiment, the information exchange system may only have a server-side component. In such embodiment, all requests to access a web page may be routed through the information exchange system. The information exchange system would then retrieve the web page from the server that hosts that web page and then retrieve the user-supplied information associated with related web pages. The information exchange system would then provide both the web page and the information to the requesting user's computer. The information exchange system may modify the web pages that it provides to the requesting user's computer so that accesses to navigation links of that web page are routed through the information exchange system. In this way, the information exchange system can detect when web pages are accessed.
The information exchange system may provide various ways for relating web pages. In one embodiment, the information exchange system may maintain a mapping of each web page to its related web pages. Whenever a web page is accessed, then the information associated with the related web pages is retrieved and provided to the user accessing the web page. In another embodiment, each web page can be associated with a category or categories within a hierarchy of categories. Web pages associated with the same categories are considered related. Whenever such a web page is accessed, the information exchange system would determine the categories of that web page and provide the user-supplied information associated with those categories. If a web page is associated with multiple categories, then the information exchange system may request that the user select the category of interest. In another embodiment, the information exchange system may relate web pages based upon keywords associated with each web page or in any other way in which web pages may be related. Also, the relationship between web pages can be dynamically identified. For example, the information exchange system may categorize a web page when it is accessed by analyzing the content of the web page. Also, web pages may be identified as related based on analysis of access patters of user. For example, if a set of users access a certain group of web pages, then they may be considered to be related. The information exchange system may use clustering techniques collaborative filter techniques, so as to identify the groups of related web pages.
The information exchange system may allow user-supplied information to be organized using various models. In one embodiment, the information exchange system stores all information provided by any user who accesses any web page in a group of related web pages. When a user accesses one of the related web pages, then the information exchange system provides this information to the accessing user. Alternatively, the information exchange system may provide a chat session model in which users can, in real-time, see and respond to information provided by users of related web pages. In another alternative embodiment, the information exchange system may provide the information in a bulletin board-type model. Also, the information provided may not necessarily be user-supplied. Instead, the information may be provided by a non-user entity. For example, a book review service may provide book reviews that are displayed whenever a user accesses a web page relating to a certain book. The book review service may not have a user who accesses any of the related web pages.
FIG. 1 illustrates a sample display of a web page and accompanying exchanged information. The display 100 includes a web page area 101 and information exchange area 102. The web page area contains the content of the web page that is being accessed. The information exchange area includes a title sub-area 103, an information display sub-area 104, and a new comment sub-area 105. In this example, any information entered by users of the related web page is displayed in order of entry when a user accesses one of the related web pages. That information is displayed in the information display sub-area. A user may use a scroll bar to scroll through the displayed information. The information exchange system may display an indication of the date and time that information was entered by the user and may also display an indication of the identity of the user who entered information. The user may be identified by name or by a moniker to conceal the user's actual identity. A user may enter additional information in the new comment sub-area and then select the submit button to submit the comments to the information exchange system. When the information exchange system receives the new comments, it stores the comments in a database keyed to the group of related web pages. In this example, the information exchange area is shown as part of the same window that contains the web page area. One skilled in the art will appreciate that the information exchange area may also be stored in a separate window that may be a pop-up window.
FIG. 2 illustrates a sample display of a web page and accompanying category information. The category information may include a hierarchy of categories that are associated with web pages. For example, a web page may be within a sporting category and further within a football sub-category of the sporting category. If a user selects to view information relating to the sporting category, then the information exchange system would displayed information relating to all web pages in the sporting category regardless of their underlying sub-categories. Alternatively, if the user browses to and selects the football sub-category, then the information exchange system would display only information relating to web pages in the football sub-category. The display 200 includes a web page area 201 and a category selection area 202. The category selection contains area contains links associated with each category. When a user selects a category, then the information exchange system displays an information exchange area containing information relating to the selected category. The information exchange may allow user to indicate a desire to list the sub-categories of a displayed category. For example, when a user moves a pointer over (e.g., mouse over) a category name, the information exchange system may display the sub-categories that are associated with the web page. The user can then select a sub-category to view information related only to web pages in that sub-category.
FIG. 3 illustrates a sample display of a web page and accompanying exchanged information in a bulletin board format. The display 300 includes a web page area 301 and a bulletin board area 302. The bulletin board area displays questions posted by users and answers by other users to those questions. A user may use conventional bulletin board techniques to submit questions and answers via the bulletin board area.
FIG. 4 illustrates a sample display of a web page and accompanying exchanged information in a chat room format. The display 400 includes a web page area 401 and a chat room area 402. The chat room area displays the contents of current conversations currently being conducted by users accessing any web page in a group of related web pages. A user may enter comments in the entry area 403 and select the submit comments button to provide the comments to the information exchange system. When the information exchange system receives the comments, it stores them in a database associated with that group of related web pages. The information exchange system may then send those comments to all other users were currently accessing related web pages.
FIG. 5 is a block diagram illustrating components of the information exchange system in one embodiment. The client computers 501 and the server computers 502 and 504 are interconnected via the Internet 503. The computers may include a central processing unit, memory, input devices (e.g., keyboard and pointing device), output devices (e.g., display devices), and storage devices (e.g. disk drives). The memory and storage devices are computer-readable media that may contain computer instructions that implement the information exchange system. The client computers may use a browser to access various web pages via the Internet. The information exchange server computer 504 includes information exchange server engine 505, a page/category database 506, a category information database 507, a user database 508, a page/group database 509, and a group information database 510. The information exchange server engine receives notifications that a web page has been accessed, retrieves information associated with related web page, and supplies that information to a client computer system. The page/category database contains a mapping from each web page to the categories associated with that web page. When the information exchange server engine receives an indication that a web page has been accessed, it may access the page/category database to identify the categories associated with that web page. The category information database contains a mapping from each category to the information associated with that category. The information may be formatted according to the model used to present the information. For example, if the information is presented using a bulletin board information model, then the information in the category information database may be stored in a question and answer format. The user database may contain information relating to the various users and an indication as to whether they are authorized to use the information exchange system. The user database may also contain a listing of the categories of interest to a user. The information exchange system may only display information to users when they access a web page in the category of interest as indicated by the user database. The page/group database and the group information database are analogous to the page/category and the category information databases in that they define a relationship of web pages and the associated information. A grouping of web pages can simply be some collection of web pages that are defined to be related. The grouping of web page can be performed automatically in various ways. For example, clustering techniques can be used based on review of access patterns or analysis of the text of a web page using information as retrieval (“IR”) techniques.
One skilled in the art will appreciate the concepts of information exchange system can be used in various environments other than the Internet. For example, the concepts can also be used in electronic mail environments in which the electronic mail messages may include the equivalent of a web page and associated exchanged information. New information can be supplied by sending an electronic message to the information exchange server. Also, various communication channels other than the Internet may be used, such as a local area network, a wide area network, or a point-to-point dial-up connection. The concepts of the information exchange system may also be used in a single computer environment rather than a client/server environment. Also, the information exchange server may comprise any combination of hardware or software that can support these concepts. In particular, the server system may actually include multiple computers. A client system may comprise any combination of hardware or software that interacts with the server system. These client systems may include television-based systems and various other consumer products through which web pages may be accessed.
FIG. 6 is a diagram illustrating the contents of various databases. Table 601 illustrates sample contents of a user database. The user database may contain a user identification, an indication as to whether information exchange is enabled for the user, and various categories that are of interest in the user. For example, a user may express an interest in web pages in the categories of science fiction or skiing. When the user accesses a web page in a science fiction or skiing category, then the information exchange system would display exchanged information relating to that category. However, when the user access to web page not related to a category of interest, the information exchange system would not display in the information associated with that web page. One skilled in the art will also appreciate that various different techniques may be used for specifying categories of interest. For example, a user may indicate that all categories are of interest. Table 602 illustrates sample contents of a page/category database. Each entry in this database contains a mapping from the URL of a web page to the various categories the web page is within.
FIGS. 7-9 are flow diagrams illustrating example processing of the information exchange system. FIG. 7 is a flow diagram illustrating the processing of the information exchange server engine when a URL is received. This routine is passed a URL and a user ID. In block 701, the routine retrieves a record from the user database for the passed user ID. In decision block 702, if the retrieved record indicates that information exchange is enabled for that user, then the routine continues at block 704, else the routine continues at block 703. In a block 703, the routine sends an appropriate notification to the user and then completes. In block 704, the routine retrieves a record from the page/category database for the passed URL. This retrieved record indicates the categories associated with the passed URL. In block 705, the routine generates a display description for a category information area. The routine may limit the categories to those of interest to the user as indicated by the user database. This display description may be described using HTML. In block 706, the routine sends the display description to the user computer and then completes.
FIG. 8 is a flow diagram illustrating the processing of the information exchange server engine when a category selection is received. This routine is passed an indication of a selected category. In block 801, the routine retrieves a record for the category from the category information database. In block 802, the routine generates a display description containing the exchanged information from the retrieved record. In block 803, the routine sends the generated display description to the user computer and then completes.
FIG. 9 is a flow diagram illustrating example processing of the information exchange server engine when user comments are received. This routine is passed an indication of a category, a user ID, and the comments. In block 901, the routine retrieves the record for the category from the category information database. In block 902, the routine updates the retrieved record with the comments. In block 903, the routine stores the updated record back into the category information database. In block 904, the routine notifies current users, as appropriate, that the information has been changed. The routine then completes.
From the foregoing it will be appreciated that although specific embodiments of the information exchange system have been described for purposes of illustration, various modifications may be made without deviating from the spirit and scope of the invention. For example, user-supplied information can be associated with resources other than that web page. For example, the information can be associated with any URL or any display description that describes a display layout. Accordingly the invention is not limited except by the appended claims.